/*
* ============================================================================
*  Name        : example_003.hxx
*  Part of     : Finite state machine examples
*  Description : State machine body
*  Version     : %version: %
*  
*
* ============================================================================
*/

/**
    @code
    SM_DECLARE
    (
        HelloTheWorld_003_src,
        HelloTheWorld_003
        sync
        {
            Exceptions
            {
                // In case framework wants to terminate
                Ev_Sys_Terminate        exit            nojump
            }
            Hello  300 1
            {
                Ev_Sys_OnEntry          say_hello       nojump
                Ev_Sys_LastHeartbeat    null            Sea
            }
            Sea  300 1
            {
                Ev_Sys_OnEntry          say_sea         nojump
                Ev_Sys_LastHeartbeat    null            World
            }
            World  300 1
            {
                Ev_Sys_OnEntry          say_world       nojump
                Ev_Sys_LastHeartbeat    exit            nojump
            }
        } 
    );
    @endcode
 */

SM_DECLARE
(
    HelloTheWorld_003_src,
    HelloTheWorld_003
    sync
    {
        Exceptions
        {
            // In case framework wants to terminate
            Ev_Sys_Terminate        exit            nojump
        }
        Hello  300 1
        {
            Ev_Sys_OnEntry          say_hello       nojump
            Ev_Sys_LastHeartbeat    null            Sea
        }
        Sea  300 1
        {
            Ev_Sys_OnEntry          say_sea         nojump
            Ev_Sys_LastHeartbeat    null            World
        }
        World  300 1
        {
            Ev_Sys_OnEntry          say_world       nojump
            Ev_Sys_LastHeartbeat    exit            nojump
        }
    } 
);
